package com.heima.admin.feign;

import com.heima.model.article.pojos.ApArticle;
import com.heima.model.article.pojos.ApArticleConfig;
import com.heima.model.article.pojos.ApArticleContent;
import com.heima.model.article.pojos.ApAuthor;
import com.heima.model.common.dtos.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @description: --
 * @author：Bing
 * @date：2021/4/15 15:04
 * @version：1.0
 */
@FeignClient("leadnews-article")
public interface ArticleFeign {

    /**
     * 保存文章信息 ap_article，需要返回当前文章，并且需要获取保存后获取到的主键
     * @param apArticle
     * @return
     */
    @PostMapping("/api/v1/article/save")
    public ApArticle saveAparticle(ApArticle apArticle);

    /**
     * 保存文章配置信息 ap_article_config
     * @param apArticleConfig
     * @return
     */
    @PostMapping("/api/v1/article_config/save")
    public ResponseResult saveArticleConfig(ApArticleConfig apArticleConfig);

    /**
     * 保存文章内容 ap_article_content
     * @param apArticleContent
     * @return
     */
    @PostMapping("/api/v1/article_content/save")
    public ResponseResult saveArticleContent(ApArticleContent apArticleContent);

    /**
     * 在保存文章的时候需要关联作者，需要根据名称查询作者信息
     * @param name
     * @return
     */
    @GetMapping("/api/v1/author/findByName/{name}")
    public ApAuthor selectAuthorByName(@PathVariable("name") String name);
}
